package com.jyw.business.ast.domain.vo.web;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jyw.common.annotation.Conversion;
import com.jyw.common.constant.SysDictTypeConstant;
import com.jyw.common.enums.ConversionType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.FieldNameConstants;
import org.springframework.util.ObjectUtils;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Calendar;
import java.util.Date;

/**
 * @author 沈峻
 * @ClassName AstPageVo
 * @Description 资产登记分页查询响应实体
 * @Date 2023/9/20 15:08
 **/
@Data
@ApiModel("资产登记分页查询响应实体")
@FieldNameConstants
public class AstPageVo {

    /**
     * ID
     */
    @ApiModelProperty("ID")
    private Long id;

    /**
     * 名称
     */
    @ApiModelProperty("名称")
    private String name;

    /**
     * 规格型号
     */
    @ApiModelProperty("规格型号")
    private String model;

    /**
     * 使用日期
     */
    @ApiModelProperty("使用日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date useDate;

    /**
     * 使用年限
     */
    @ApiModelProperty("使用年限")
    private BigDecimal years;

    @ApiModelProperty("使用年限单位")
    private String useUnit;

    @ApiModelProperty("使用到期日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date useOverDate;

    @ApiModelProperty("下次保养日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date nextMeteringDate;

    /**
     * 设备状态(数据字典)
     */
    @ApiModelProperty("设备状态(数据字典)")
    @Conversion(value = ConversionType.DICT, dictType = SysDictTypeConstant.AST_ASSET_STATE)
    private String equipmentState;

    @ApiModelProperty("设备状态标签")
    private String equipmentStateToName;


    /**
     * 资产编号
     */
    @ApiModelProperty("资产编号")
    private String assetsCode;
}